package com.binyouwei.designpatterns.creation_type.singleton;

/**
 * @author 宾有为
 * @date 2024/6/20 19:54
 * @link https://blog.csdn.net/baidu_41616022?type=blog
 * @describe：单例模式 —— 确保一个类只有一个实例，并提供了一个全局访问点来访问该实例。
 **/
public class SingletonMain {

    public static void main(String[] args) {
        // 懒汉模式 —— 线程不安全
        LazyInitialization.getInstance().print();
        // 懒汉模式 —— 线程安全
        LazyInitialization2.getInstance().print();
        // 饿汉模式
        EagerInitialization.getInstance().print();
        // 双重检查锁
        DoubleCheckedLocking.getInstance().print();
        // 静态内部类
        StaticInnerClass.getInstance().print();
        // 枚举模式
        EnumMode.INSTANCE.print();
    }
}
